package com.lnking.lnkingplace.model.entity;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lnking.starter.mybatis.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhangqt
 * @since 2022-10-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="Garden对象", description="")
public class Garden extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "管理运行机构")
    private String organization;

    @ApiModelProperty(value = "机构性质")
    private String organizationCharacter;

    @ApiModelProperty(value = "法人姓名")
    private String legalPerson;

    @ApiModelProperty(value = "注册地址")
    private String registeredAddress;

    @ApiModelProperty(value = "经营地址")
    private String businessAddress;

    @ApiModelProperty(value = "联系人")
    private String linkman;

    @ApiModelProperty(value = "联系人电话")
    private String linkmanPhone;

    @ApiModelProperty(value = "开始运营时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "入住率")
    private Float occupancyRate;

    @TableField(exist = false)
    @JsonIgnore
    private String strOccupancyRate;
    public String getStrOccupancyRate(){
        if(null != occupancyRate){
            return String.valueOf(occupancyRate);
        }
        return null;
    }

    @ApiModelProperty(value = "产权情况")
    private String property;

    @ApiModelProperty(value = "租赁期限")
    private String termOfLease;

    @ApiModelProperty(value = "园区占地面积")
    private Float floorArea;

    @TableField(exist = false)
    @JsonIgnore
    private String strFloorArea;
    public String getStrFloorArea(){
        if(null != floorArea){
            return String.valueOf(floorArea);
        }
        return null;
    }

    @ApiModelProperty(value = "园区建筑面积")
    private Float coveredArea;

    @TableField(exist = false)
    @JsonIgnore
    private String strCoveredArea;
    public String getStrCoveredArea(){
        if(null != coveredArea){
            return String.valueOf(coveredArea);
        }
        return null;
    }

    @ApiModelProperty(value = "全部企业数")
    private Integer enterpriseTotal;

    @ApiModelProperty(value = "文创企业数")
    private Integer culturalCreationEnterprise;

    @ApiModelProperty(value = "规上企业数")
    private Integer regulatedEnterprises;

    @ApiModelProperty(value = "规上文创企业")
    private Integer regulatedCulturalCreationEnterprise;

    @ApiModelProperty(value = "市级评定")
    private String municipalAssessment;

    @ApiModelProperty(value = "自有知识产权数")
    private Integer intellectualProperty;

    @ApiModelProperty(value = "园区总产值(万元)")
    private Float totalValue;

    @TableField(exist = false)
    @JsonIgnore
    private String strTotalValue;
    public String getStrTotalValue(){
        if(null != totalValue){
            return String.valueOf(totalValue);
        }
        return null;
    }

    @ApiModelProperty(value = "园区年度税费贡献")
    private Float taxation;

    @TableField(exist = false)
    @JsonIgnore
    private String strTaxation;
    public String getStrTaxation(){
        if(null != taxation){
            return String.valueOf(taxation);
        }
        return null;
    }

    @ApiModelProperty(value = "文创企业年度总收入(万元)")
    private Float culturalCreationTotal;

    @TableField(exist = false)
    @JsonIgnore
    private String strCulturalCreationTotal;
    public String getStrCulturalCreationTotal(){
        if(null != culturalCreationTotal){
            return String.valueOf(culturalCreationTotal);
        }
        return null;
    }

    @ApiModelProperty(value = "文创企业年度税费贡献(万元)")
    private Float culturalCreationTaxation;

    @TableField(exist = false)
    @JsonIgnore
    private String strCulturalCreationTaxation;
    public String getStrCulturalCreationTaxation(){
        if(null != culturalCreationTaxation){
            return String.valueOf(culturalCreationTaxation);
        }
        return null;
    }

    @ApiModelProperty(value = "情况说明")
    private String note;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @JsonIgnore
    private Boolean delFlag;


}
